home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 25 / CU Amiga Magazine's Super CD-ROM 25 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-08].iso / CUCD / Programming / GMS / GMSDev / Source / E / Screens / HiResScreen.e < prev    next >
Encoding:
Text File  |  1998-03-16  |  1.6 KB  |  60 lines

  1. /* HiRes Picture Display
  2. ** ---------------------
  3. ** Opens a screen of 640 pixels width in HIRES mode.  You can even try
  4. ** SuperHiRes (SHIRES) if you change the appropriate flag in the Screen
  5. ** structure.
  6. */
  7.  
  8. MODULE 'gms/dpkernel','gms/dpkernel/dpkernel','gms/graphics/pictures'
  9. MODULE 'gms/files/files','gms/screens','gms/system/register','gms/system/modules'
  10. MODULE 'gms/input/joydata','gms/graphics/screens','gms/graphics/blitter'
  11.  
  12. PROC main()
  13.   DEF screen    :PTR TO screen,
  14.       pic       :PTR TO picture,
  15.       picfile   :filename,
  16.       scrmodule :PTR TO module,
  17.       joydata   :PTR TO joydata
  18.  
  19.   picfile := [ ID_FILENAME, 'GMS:demos/data/PIC.Pic640x256']:filename
  20.  
  21.   IF dpkbase := OpenLibrary('GMS:libs/dpkernel.library',0)
  22.      IF (scrmodule := Init([TAGS_MODULE,NIL,
  23.          MODA_NUMBER,    MOD_SCREENS,
  24.          MODA_TABLETYPE, JMP_AMIGAE,
  25.          TAGEND], NIL))
  26.  
  27.         scrbase := scrmodule.modbase
  28.  
  29.         IF (pic := Load(picfile, ID_PICTURE))
  30.            screen := Get(ID_SCREEN)
  31.            CopyStructure(pic,screen)
  32.            screen.width   := 640
  33.            screen.height  := 256
  34.            screen.scrmode := SM_HIRES OR SM_LACED
  35.  
  36.            IF (joydata := Init(Get(ID_JOYDATA),NIL))
  37.               IF (Init(screen,NIL))
  38.                  Copy(pic.bitmap,screen.bitmap)
  39.                  Show(screen)
  40.                  Query(joydata)
  41.  
  42.                  REPEAT
  43.                    Query(joydata)
  44.                    WaitAVBL()
  45.                  UNTIL (joydata.buttons AND JD_LMB)
  46.  
  47.               Free(screen)
  48.               ENDIF
  49.            Free(joydata)
  50.            ENDIF
  51.         Free(pic)
  52.         ENDIF
  53.      Free(scrmodule)
  54.      ENDIF
  55.   CloseDPK()
  56.   ENDIF
  57.  
  58. ENDPROC
  59.  
  60.